﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using log4net;
using Telerik.WinControls.UI;
using System.IO;
using System.Collections;
using Telerik.WinControls.Data;

namespace QuanLyNhaSach
{
    public partial class frmDSDatHangOnline : Form
    {
        public frmDSDatHangOnline()
        {
            InitializeComponent();
            //design gridview
            this.gv_dathangonline.EnableHotTracking = true;

            (this.gv_dathangonline.TableElement as GridTableElement).AlternatingRowColor =
                Color.FromArgb(240, 240, 230);
            this.gv_dathangonline.EnableAlternatingRowColor = true;
            this.gv_dathangonline.TableElement.RowHeight = 100;
        }
        static frmDSDatHangOnline doituong = null;
        public static frmDSDatHangOnline TaoDoiTuong()
        {
            if (doituong == null)
                doituong = new frmDSDatHangOnline();
            return doituong;
        }


        #region khai bao bien
        private ILog logger;
        ArrayList KiemTra_DanhSach = new ArrayList();
        sv_QuanLyNhaSach.AdapterClient service = new sv_QuanLyNhaSach.AdapterClient();
        #endregion

        private void frmDanhSachDatHangOnline_Load(object sender, EventArgs e)
        {

            //================phan in ds=================
            this.gv_dathangonline.TableElement.BeginUpdate();
            this.gv_dathangonline.MasterTemplate.EnableFiltering = false;
            this.gv_dathangonline.MasterTemplate.AutoExpandGroups = true;
            this.gv_dathangonline.MasterTemplate.AllowAddNewRow = false;
            AddSummaries();
            this.gv_dathangonline.TableElement.EndUpdate();
            //====
            Load_DSDatHangOnLine();
            //====set color====
            SetConditions();
            //====set tình trang ====
            SetTinhTrang();
            //====load don dat hang vao combobox
            Load_DonDatHang();
            cmb_donhang.Text = "";
        }

        #region Các Hàm Load
        private void Load_DonDatHang()
        {
            RadMultiColumnComboBoxElement mcmbkhohang = this.cmb_donhang.MultiColumnComboBoxElement;
            mcmbkhohang.DropDownSizingMode = SizingMode.UpDownAndRightBottom;
            mcmbkhohang.DropDownMinSize = new Size(100, 200);

            DataSet dsdhh = new DataSet();
            dsdhh.ReadXml(new StringReader(service.selectqueryByText("select MaDHOL from DatHangOnline")));
            if (dsdhh.Tables.Count != 0)
            {
                cmb_donhang.DataSource = dsdhh.Tables[0];
                cmb_donhang.DisplayMember = "MaDHOL";
                cmb_donhang.ValueMember = "MaDHOL";
            }
            FilterDescriptor des_dh = new FilterDescriptor(this.cmb_donhang.DisplayMember, FilterOperator.StartsWith, string.Empty);
            cmb_donhang.EditorControl.FilterDescriptors.Add(des_dh);
            cmb_donhang.Text = "";
        }
        private void getthongtin()
        {
            txt_dhol_dienthoai.Text = gv_dathangonline.CurrentRow.Cells["SDT"].Value.ToString();
            txt_dhol_noigiao.Text = gv_dathangonline.CurrentRow.Cells["DiaChi"].Value.ToString();
            txt_dhol_tongtien.Text = double.Parse(gv_dathangonline.CurrentRow.Cells["TongTien"].Value.ToString()).ToString("#,##0");
            txt_dhol_httt.Text = gv_dathangonline.CurrentRow.Cells["HinhThucThanhToan"].Value.ToString();
            //txt_tenkh.Text = gv_dathangonline.CurrentRow.Cells["TenDangNhap"].Value.ToString();

        }
        private void SetTinhTrang()
        {
            try
            {
                if (gv_dathangonline.CurrentRow.Cells["TrangThai"].Value.ToString() == "CXN")
                {
                    rdb_chuaxuly.IsChecked = true;
                }
                else if (gv_dathangonline.CurrentRow.Cells["TrangThai"].Value.ToString() == "DXN")
                {
                    rdb_daxuly.IsChecked = true;
                }
                else if (gv_dathangonline.CurrentRow.Cells["TrangThai"].Value.ToString() == "DG")
                {
                    rdb_dagiao.IsChecked = true;
                }
            }
            catch { }

        }
        private void SetConditions()
        {
            //CHƯA XÁC NHẬN
            ConditionalFormattingObject c1 = new ConditionalFormattingObject("Cyan", ConditionTypes.Equal, "CXN", "", true);
            c1.CellBackColor = Color.Aquamarine;
            c1.CellForeColor = Color.Aquamarine;
            gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c1);
            //Đã xác nhận
            ConditionalFormattingObject c2 = new ConditionalFormattingObject("Green", ConditionTypes.Equal, "DXN", "", true);
            c2.CellBackColor = Color.GreenYellow;
            c2.CellForeColor = Color.GreenYellow;
            gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c2);

            //Đã giao
            ConditionalFormattingObject c3 = new ConditionalFormattingObject("Red", ConditionTypes.Equal, "DG", "", true);
            c3.CellBackColor = Color.SandyBrown;
            c3.CellForeColor = Color.SandyBrown;
            gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c3);
        }
        private void AddSummaries()
        {
            GridViewSummaryRowItem item1 = new GridViewSummaryRowItem();
            item1.Add(new GridViewSummaryItem("hoten", "Count: {0}", GridAggregateFunction.Count));
            this.gv_dathangonline.MasterTemplate.SummaryRowsTop.Add(item1);
        }
        private void Load_DSDatHangOnLine()
        {
            try
            {
                //hiện ds
                DataSet ds = new DataSet();
                ds.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai  " +
                                        "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                         "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL  order by dho.NgayDH asc")));
                if (ds.Tables.Count > 0)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        ds.Tables[0].Rows[i]["TongTien"] = double.Parse(ds.Tables[0].Rows[i]["TongTien"].ToString()).ToString("#,##0");
                    }
                    gv_dathangonline.DataSource = ds.Tables[0];
                }
                //=====thêm một cột chi tiết đặt hàng online

                ds.Tables[0].Columns.Add("ctmathang", typeof(string));
                DataRow dr;
                if (ds.Tables.Count > 0)
                {
                    ds.Tables[0].Columns.Add("stt", typeof(int));
                    gv_dathangonline.DataSource = ds.Tables[0];
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        dr = ds.Tables[0].NewRow();
                        dr["stt"] = i + 1;
                        ds.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                        //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                    }
                }
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                {
                    dr = ds.Tables[0].NewRow();
                    dr["ctmathang"] = LayCTDatHangOnline(ds.Tables[0].Rows[i][0].ToString());
                    ds.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                }


            }
            catch { }
        }
        public string LayCTDatHangOnline(string madhol)
        {

            DataSet ds = new DataSet();
            ds.ReadXml(new StringReader(service.selectqueryByText("select mh.TenMH,soluong from CTDatHangONL ct, DatHangOnline dho, MatHang mh " +
                            "where ct.MaDHOL=dho.MaDHOL and ct.MaMH=mh.MaMH and ct.MaDHOL='" + madhol + "'  order by mh.MaLoai desc")));

            string chuoi = "";
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                if (i == ds.Tables[0].Rows.Count - 1)
                    chuoi += ds.Tables[0].Rows[i][0].ToString() + "(" + ds.Tables[0].Rows[i][1].ToString() + ")";
                else
                    chuoi += ds.Tables[0].Rows[i][0].ToString() + "(" + ds.Tables[0].Rows[i][1].ToString() + ")\n";
            }
            if (chuoi != "")
                return chuoi;
            return "";
        }
        #endregion

        private void bt_capnhatds_Click(object sender, EventArgs e)
        {
            Load_DSDatHangOnLine();
        }

        private void gv_dathangonline_SelectionChanged(object sender, EventArgs e)
        {
            try
            {
                string madh = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                DataSet ds1 = new DataSet();
                ds1.ReadXml(new StringReader(service.selectqueryByText("select ct.MaMH, mh.TenMH, ct.Soluong,ct.DonGia, ct.ThanhTien from DatHangOnline dho, CTDatHangONL ct, MatHang mh " +
                                                                            "where dho.MaDHOL=ct.MaDHOL and ct.MaMH=mh.MaMH and dho.MaDHOL='" + madh + "'")));
                if (ds1.Tables.Count > 0)
                {
                    for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                    {
                        ds1.Tables[0].Rows[i]["ThanhTien"] = double.Parse(ds1.Tables[0].Rows[i]["ThanhTien"].ToString()).ToString("#,##0");
                    }
                    gv_mathangdat.DataSource = ds1.Tables[0];
                }

                getthongtin();
                //them một cột xóa
                if (gv_mathangdat.Columns.GetColumnByFieldName("xoa").Length == 0)
                {
                    GridViewCommandColumn btnColumn = new GridViewCommandColumn();
                    btnColumn.FieldName = "xoa";
                    btnColumn.Name = "xoa";
                    btnColumn.UseDefaultText = true;
                    btnColumn.DefaultText = "Xóa";
                    btnColumn.Width = 100;
                    gv_mathangdat.Columns.Insert(3, btnColumn);
                }
                SetConditions();
                // set lại tình trang khi chuyển row
                SetTinhTrang();

            }
            catch { }

        }
        int stt = 0;
        private void gv_mathangdat_CommandCellClick(object sender, EventArgs e)
        {
            double tongtien_sauxoa = 0;
            try
            {
                if (MessageBox.Show("Bạn có chắc chắn muốn hủy mặt hàng này của khách hàng?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (gv_mathangdat.Rows.Count == 1)
                    {
                        gv_mathangdat.Rows.Clear();
                    }
                    else
                    {

                        string mamh = gv_mathangdat.CurrentRow.Cells["MaMH"].Value.ToString();
                        string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString();

                        gv_mathangdat.Rows.RemoveAt(gv_mathangdat.CurrentRow.Index);
                        stt--;
                        service.selectqueryByText("delete from CTDatHangONL where MaMH='" + mamh + "' and MaDHOL='" + madhol + "'");
                    }
                }
                Load_DSDatHangOnLine();

                DataSet ds1 = new DataSet();
                string madh = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                ds1.ReadXml(new StringReader(service.selectqueryByText("select ct.MaMH, mh.TenMH from DatHangOnline dho, CTDatHangONL ct, MatHang mh " +
                                                                            "where dho.MaDHOL=ct.MaDHOL and ct.MaMH=mh.MaMH and dho.MaDHOL='" + madh + "'")));
                if (ds1.Tables.Count > 0)
                {
                    gv_mathangdat.DataSource = ds1.Tables[0];
                }

            }
            catch
            {

            }
        }

        private void bt_capnhat_Click(object sender, EventArgs e)
        {
            #region set trang thai
            if (rdb_daxuly.IsChecked == true)
            {
                string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                service.selectqueryByText("update DatHangOnline	set TrangThai='DXN' where MaDHOL='" + madhol + "'");
                Load_DSDatHangOnLine();
                //Đã xác nhận
                ConditionalFormattingObject c2 = new ConditionalFormattingObject("Green", ConditionTypes.Equal, "ĐXN", "", true);
                c2.CellBackColor = Color.GreenYellow;
                c2.CellForeColor = Color.GreenYellow;
                gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c2);
                SetTinhTrang();
            }
            else if (rdb_chuaxuly.IsChecked == true)
            {
                string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                service.selectqueryByText("update DatHangOnline	set TrangThai='CXN' where MaDHOL='" + madhol + "'");
                Load_DSDatHangOnLine();
                //Đã xác nhận
                ConditionalFormattingObject c1 = new ConditionalFormattingObject("Cyan", ConditionTypes.Equal, "CXN", "", true);
                c1.CellBackColor = Color.Aquamarine;
                c1.CellForeColor = Color.Aquamarine;
                gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c1);
                SetTinhTrang();
            }
            else if (rdb_dagiao.IsChecked == true)
            {
                string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                service.selectqueryByText("update DatHangOnline	set TrangThai='DG' where MaDHOL='" + madhol + "'");
                Load_DSDatHangOnLine();
                //Đã giao
                ConditionalFormattingObject c3 = new ConditionalFormattingObject("Red", ConditionTypes.Equal, "ĐG", "", true);
                c3.CellBackColor = Color.SandyBrown;
                c3.CellForeColor = Color.SandyBrown;
                gv_dathangonline.Columns["TrangThai"].ConditionalFormattingObjectList.Add(c3);
                SetTinhTrang();
            }
            #endregion


        }

        private void gv_mathangdat_CellValueChanged(object sender, GridViewCellEventArgs e)
        {
            try
            {
                string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                string mamh = gv_mathangdat.CurrentRow.Cells["MaMH"].Value.ToString().Trim();
                double thanhtien = double.Parse(gv_mathangdat.CurrentRow.Cells["ThanhTien"].Value.ToString());
                double dongia = double.Parse(gv_mathangdat.CurrentRow.Cells["DonGia"].Value.ToString());
                int soluong = int.Parse(gv_mathangdat.CurrentRow.Cells["Soluong"].Value.ToString().Trim());
                thanhtien = soluong * dongia;
            }
            catch
            {

            }
        }

        private void gv_mathangdat_CellEndEdit(object sender, GridViewCellEventArgs e)
        {
            try
            {
                string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString().Trim();
                string mamh = gv_mathangdat.CurrentRow.Cells["MaMH"].Value.ToString().Trim();
                double thanhtien = double.Parse(gv_mathangdat.CurrentRow.Cells["ThanhTien"].Value.ToString());
                int soluong = int.Parse(gv_mathangdat.CurrentRow.Cells["Soluong"].Value.ToString().Trim());
                double dongia = double.Parse(gv_mathangdat.CurrentRow.Cells["DonGia"].Value.ToString());
                thanhtien = soluong * dongia;
                service.selectqueryByText("update CTDatHangONL	set Soluong='" + soluong + "' where MaDHOL='" + madhol + "' and  MaMH='" + mamh + "'");
                service.selectqueryByText("update CTDatHangONL set ThanhTien = '" + thanhtien + "'  where MaDHOL='" + madhol + "'and MaMH ='" + mamh + "'");
                DataSet ds = new DataSet();
                ds.ReadXml(new StringReader(service.selectqueryByText("select SUM(ThanhTien) from CTDatHangONL where madhol ='" + madhol + "'")));
                txt_dhol_tongtien.Text = double.Parse(ds.Tables[0].Rows[0][0].ToString()).ToString("#,##0");
                service.selectqueryByText("update DatHangOnline set TongTien = '" + txt_dhol_tongtien.Text + "'  where MaDHOL='" + madhol + "'");


            }
            catch { }
        }
        private void bt_go_tim_Click(object sender, EventArgs e)
        {
            try
            {
                if (cmb_donhang.Text == "")
                {

                }
                else
                {
                    #region hiện ds
                    DataSet ds = new DataSet();
                    ds.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai  " +
                                            "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                             "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL and dho.MaDHOL= '" + cmb_donhang.SelectedValue.ToString() + "'  order by dho.NgayDH asc")));
                    if (ds.Tables.Count > 0)
                    {
                        gv_dathangonline.DataSource = ds.Tables[0];
                    }
                    //=====thêm một cột chi tiết đặt hàng online

                    ds.Tables[0].Columns.Add("ctmathang", typeof(string));
                    DataRow dr;
                    if (ds.Tables.Count > 0)
                    {
                        ds.Tables[0].Columns.Add("stt", typeof(int));
                        gv_dathangonline.DataSource = ds.Tables[0];
                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            dr = ds.Tables[0].NewRow();
                            dr["stt"] = i + 1;
                            ds.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                            //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                        }
                    }
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        dr = ds.Tables[0].NewRow();
                        dr["ctmathang"] = LayCTDatHangOnline(ds.Tables[0].Rows[i][0].ToString());
                        ds.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                logger.Error("Error: " + ex.Message);
            }
        }

        private void ck_chuaxacnhan_CheckedChanged(object sender, EventArgs e)
        {
            if (ck_dagiao.Checked == true)
            {
                rdb_loctoanbo.Checked = true;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }
            else if (ck_dagiao.Checked == false && ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == false)
            {
                rdb_loctoanbo.Checked = false;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }
        }
        private void ck_daxacnhan_CheckedChanged(object sender, EventArgs e)
        {
            if (ck_dagiao.Checked == true)
            {
                rdb_loctoanbo.Checked = true;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }
            else if (ck_dagiao.Checked == false && ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == false)
            {
                rdb_loctoanbo.Checked = false;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }
        }
        private void ck_dagiao_CheckedChanged(object sender, EventArgs e)
        {
            if (ck_dagiao.Checked == true)
            {
                rdb_loctoanbo.Checked = true;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }
            else if (ck_dagiao.Checked == false && ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == false)
            {
                rdb_loctoanbo.Checked = false;
                rdb__loc_ngayht.Checked = false;
                rdb_loc_tungaydenngay.Checked = false;
            }

        }

        private void bt_loc_Click(object sender, EventArgs e)
        {
            DataSet dstoanbo = new DataSet();
            if (ck_chuaxacnhan.Checked == true && ck_daxacnhan.Checked == true && ck_dagiao.Checked == true)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = "+nam+" and MONTH(dho.NgayDH)="+thang+" and DAY(dho.NgayDH)="+ngay+" order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu =  thangtu + "-" + ngaytu + "-"+namtu;

                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion

            }
            else if (ck_chuaxacnhan.Checked == true && ck_daxacnhan.Checked == false && ck_dagiao.Checked == false)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL and dho.TrangThai='CXN' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai='CXN'  order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai= 'CXN' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
            else if (ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == true && ck_dagiao.Checked == false)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL and dho.TrangThai='DXN' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai='DXN'  order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai= 'DXN' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
            else if (ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == false && ck_dagiao.Checked == true)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL and dho.TrangThai='DG' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai='DG'  order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai= 'DG' order by dho.NgayDH asc")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
            else if (ck_chuaxacnhan.Checked == true && ck_daxacnhan.Checked == true && ck_dagiao.Checked == false)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct  dho.MaDHOL,dho.MaTKOL, tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL and  dho.TrangThai in ('DXN','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai in ('DXN','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai in ('DXN','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
            else if (ck_chuaxacnhan.Checked == true && ck_daxacnhan.Checked == false && ck_dagiao.Checked == true)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL and dho.TrangThai in ('DG','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai in ('DG','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai in ('DG','CXN') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
            else if (ck_chuaxacnhan.Checked == false && ck_daxacnhan.Checked == true && ck_dagiao.Checked == true)
            {
                #region
                if (rdb_loctoanbo.Checked == true)
                {
                    #region
                    try
                    {
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL = ct.MaDHOL and dho.MaTKOL = tk.MaTKOL and dho.TrangThai in ('DXN','DG') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb__loc_ngayht.Checked == true)
                {
                    #region
                    try
                    {
                        dtpngaybatdau.Enabled = false;
                        dtpngayketthuc.Enabled = false;
                        string ngay, thang, nam;
                        ngay = DateTime.Today.Day.ToString();
                        thang = DateTime.Today.Month.ToString();
                        nam = DateTime.Today.Year.ToString();
                        string ngaythangnam = nam + "-" + thang + "-" + ngay;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and dho.MaTKOL=tk.MaTKOL and year(dho.NgayDH) = " + nam + " and MONTH(dho.NgayDH)=" + thang + " and DAY(dho.NgayDH)=" + ngay + " and dho.TrangThai in ('DXN','DG') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Hôm nay chưa có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }
                    #endregion
                }
                if (rdb_loc_tungaydenngay.Checked == true)
                {
                    #region
                    try
                    {
                        errorProvider1.Clear();
                        if (dtpngaybatdau.Value > dtpngayketthuc.Value)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Ngày kết thúc phải lớn hơn ngày bắt đầu!");
                        }
                        if (dtpngayketthuc.Value > DateTime.Now || dtpngaybatdau.Value > DateTime.Now)
                        {
                            errorProvider1.SetError(dtpngayketthuc, "Chỉ lọc những đơn hàng có ngày nhỏ hơn ngày hiện tại!");
                        }
                        string ngayden, thangden, namden;
                        ngayden = dtpngayketthuc.Value.Day.ToString();
                        thangden = dtpngayketthuc.Value.Month.ToString();
                        namden = dtpngayketthuc.Value.Year.ToString();
                        string ngaythangnamden = thangden + "-" + ngayden + "-" + namden;

                        string ngaytu, thangtu, namtu;
                        ngaytu = dtpngaybatdau.Value.Day.ToString();
                        thangtu = dtpngaybatdau.Value.Month.ToString();
                        namtu = dtpngaybatdau.Value.Year.ToString();
                        string ngaythangnamtu = thangtu + "-" + ngaytu + "-" + namtu;
                        DataSet ds1 = new DataSet();
                        ds1.ReadXml(new StringReader(service.selectqueryByText("select distinct dho.MaDHOL,tk.TenDangNhap,tk.DiaChi,tk.SDT,dho.NgayDH,dho.HinhThucThanhToan, dho.TongTien, dho.TrangThai " +
                                                                                       "from DatHangOnline dho,CTDatHangONL ct, TaiKhoanOnline tk " +
                                                                                       "where dho.MaDHOL=ct.MaDHOL and dho.MaTKOL=tk.MaTKOL " +
                                                                                       "and  dho.NgayDH between '" + ngaythangnamtu + "' and '" + ngaythangnamden + "' and dho.TrangThai in ('DXN','DG') order by  dho.MaDHOL")));
                        if (ds1.Tables.Count > 0)
                        {
                            gv_dathangonline.DataSource = ds1.Tables[0];

                            ds1.Tables[0].Columns.Add("ctmathang", typeof(string));
                            DataRow dr;
                            if (ds1.Tables.Count > 0)
                            {
                                ds1.Tables[0].Columns.Add("stt", typeof(int));
                                gv_dathangonline.DataSource = ds1.Tables[0];
                                for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                                {
                                    dr = ds1.Tables[0].NewRow();
                                    dr["stt"] = i + 1;
                                    ds1.Tables[0].Rows[i]["stt"] = dr["stt"].ToString();
                                    //KiemTra_DanhSach.Add(ds.Tables[0].Rows[i]["MaNV"].ToString());
                                }
                            }
                            for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
                            {
                                dr = ds1.Tables[0].NewRow();
                                dr["ctmathang"] = LayCTDatHangOnline(ds1.Tables[0].Rows[i][0].ToString());
                                ds1.Tables[0].Rows[i]["ctmathang"] = dr["ctmathang"].ToString();
                            }
                        }
                        else
                            MessageBox.Show("Không có đơn đặt hàng nào chưa xử lý");

                    }
                    catch (Exception ex)
                    {
                        logger.Error("Error: " + ex.Message);
                    }

                    #endregion
                }
                #endregion
            }
        }

        private void rdb_loc_tungaydenngay_CheckedChanged(object sender, EventArgs e)
        {
            dtpngaybatdau.Enabled = true;
            dtpngayketthuc.Enabled = true;
        }
        string tienchu = "";
        private void bt_ingiay_Click(object sender, EventArgs e)
        {
            string madhol = gv_dathangonline.CurrentRow.Cells["MaDHOL"].Value.ToString();
            Report.frm_Inphieugiaohangonline ghol = new Report.frm_Inphieugiaohangonline();
            ghol.madhol = madhol;
            ghol.ShowDialog();
        }

        #region "Ham chuyen so thanh chu"
        private static string Chu(string gNumber)
        {
            string result = "";
            switch (gNumber)
            {
                case "0":
                    result = "không";
                    break;
                case "1":
                    result = "một";
                    break;
                case "2":
                    result = "hai";
                    break;
                case "3":
                    result = "ba";
                    break;
                case "4":
                    result = "bốn";
                    break;
                case "5":
                    result = "năm";
                    break;
                case "6":
                    result = "sáu";
                    break;
                case "7":
                    result = "bảy";
                    break;
                case "8":
                    result = "tám";
                    break;
                case "9":
                    result = "chín";
                    break;
            }
            return result;
        }
        private static string Donvi(string so)
        {
            string Kdonvi = "";

            if (so.Equals("1"))
                Kdonvi = "";
            if (so.Equals("2"))
                Kdonvi = "nghìn";
            if (so.Equals("3"))
                Kdonvi = "triệu";
            if (so.Equals("4"))
                Kdonvi = "tỷ";
            if (so.Equals("5"))
                Kdonvi = "nghìn tỷ";
            if (so.Equals("6"))
                Kdonvi = "triệu tỷ";
            if (so.Equals("7"))
                Kdonvi = "tỷ tỷ";

            return Kdonvi;
        }
        private static string Tach(string tach3)
        {
            string Ktach = "";
            if (tach3.Equals("000"))
                return "";
            if (tach3.Length == 3)
            {
                string tr = tach3.Trim().Substring(0, 1).ToString().Trim();
                string ch = tach3.Trim().Substring(1, 1).ToString().Trim();
                string dv = tach3.Trim().Substring(2, 1).ToString().Trim();
                if (tr.Equals("0") && ch.Equals("0"))
                    Ktach = " không trăm lẻ " + Chu(dv.ToString().Trim()) + " ";
                if (!tr.Equals("0") && ch.Equals("0") && dv.Equals("0"))
                    Ktach = Chu(tr.ToString().Trim()).Trim() + " trăm ";
                if (!tr.Equals("0") && ch.Equals("0") && !dv.Equals("0"))
                    Ktach = Chu(tr.ToString().Trim()).Trim() + " trăm lẻ " + Chu(dv.Trim()).Trim() + " ";
                if (tr.Equals("0") && Convert.ToInt32(ch) > 1 && Convert.ToInt32(dv) > 0 && !dv.Equals("5"))
                    Ktach = " không trăm " + Chu(ch.Trim()).Trim() + " mươi " + Chu(dv.Trim()).Trim() + " ";
                if (tr.Equals("0") && Convert.ToInt32(ch) > 1 && dv.Equals("0"))
                    Ktach = " không trăm " + Chu(ch.Trim()).Trim() + " mươi ";
                if (tr.Equals("0") && Convert.ToInt32(ch) > 1 && dv.Equals("5"))
                    Ktach = " không trăm " + Chu(ch.Trim()).Trim() + " mươi lăm ";
                if (tr.Equals("0") && ch.Equals("1") && Convert.ToInt32(dv) > 0 && !dv.Equals("5"))
                    Ktach = " không trăm mười " + Chu(dv.Trim()).Trim() + " ";
                if (tr.Equals("0") && ch.Equals("1") && dv.Equals("0"))
                    Ktach = " không trăm mười ";
                if (tr.Equals("0") && ch.Equals("1") && dv.Equals("5"))
                    Ktach = " không trăm mười lăm ";
                if (Convert.ToInt32(tr) > 0 && Convert.ToInt32(ch) > 1 && Convert.ToInt32(dv) > 0 && !dv.Equals("5"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm " + Chu(ch.Trim()).Trim() + " mươi " + Chu(dv.Trim()).Trim() + " ";
                if (Convert.ToInt32(tr) > 0 && Convert.ToInt32(ch) > 1 && dv.Equals("0"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm " + Chu(ch.Trim()).Trim() + " mươi ";
                if (Convert.ToInt32(tr) > 0 && Convert.ToInt32(ch) > 1 && dv.Equals("5"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm " + Chu(ch.Trim()).Trim() + " mươi lăm ";
                if (Convert.ToInt32(tr) > 0 && ch.Equals("1") && Convert.ToInt32(dv) > 0 && !dv.Equals("5"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm mười " + Chu(dv.Trim()).Trim() + " ";

                if (Convert.ToInt32(tr) > 0 && ch.Equals("1") && dv.Equals("0"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm mười ";
                if (Convert.ToInt32(tr) > 0 && ch.Equals("1") && dv.Equals("5"))
                    Ktach = Chu(tr.Trim()).Trim() + " trăm mười lăm ";

            }


            return Ktach;

        }
        public static string So_chu(double gNum)
        {
            if (gNum == 0)
                return "Không đồng";

            string lso_chu = "";
            string tach_mod = "";
            string tach_conlai = "";
            double Num = Math.Round(gNum, 0);
            string gN = Convert.ToString(Num);
            int m = Convert.ToInt32(gN.Length / 3);
            int mod = gN.Length - m * 3;
            string dau = "[+]";

            // Dau [+ , - ]
            if (gNum < 0)
                dau = "[-]";
            dau = "";

            // Tach hang lon nhat
            if (mod.Equals(1))
                tach_mod = "00" + Convert.ToString(Num.ToString().Trim().Substring(0, 1)).Trim();
            if (mod.Equals(2))
                tach_mod = "0" + Convert.ToString(Num.ToString().Trim().Substring(0, 2)).Trim();
            if (mod.Equals(0))
                tach_mod = "000";
            // Tach hang con lai sau mod :
            if (Num.ToString().Length > 2)
                tach_conlai = Convert.ToString(Num.ToString().Trim().Substring(mod, Num.ToString().Length - mod)).Trim();

            ///don vi hang mod 
            int im = m + 1;
            if (mod > 0)
                lso_chu = Tach(tach_mod).ToString().Trim() + " " + Donvi(im.ToString().Trim());
            /// Tach 3 trong tach_conlai

            int i = m;
            int _m = m;
            int j = 1;
            string tach3 = "";
            string tach3_ = "";

            while (i > 0)
            {
                tach3 = tach_conlai.Trim().Substring(0, 3).Trim();
                tach3_ = tach3;
                lso_chu = lso_chu.Trim() + " " + Tach(tach3.Trim()).Trim();
                m = _m + 1 - j;
                if (!tach3_.Equals("000"))
                    lso_chu = lso_chu.Trim() + " " + Donvi(m.ToString().Trim()).Trim();
                tach_conlai = tach_conlai.Trim().Substring(3, tach_conlai.Trim().Length - 3);

                i = i - 1;
                j = j + 1;
            }
            if (lso_chu.Trim().Substring(0, 1).Equals("k"))
                lso_chu = lso_chu.Trim().Substring(10, lso_chu.Trim().Length - 10).Trim();
            if (lso_chu.Trim().Substring(0, 1).Equals("l"))
                lso_chu = lso_chu.Trim().Substring(2, lso_chu.Trim().Length - 2).Trim();
            if (lso_chu.Trim().Length > 0)
                lso_chu = dau.Trim() + " " + lso_chu.Trim().Substring(0, 1).Trim().ToUpper() + lso_chu.Trim().Substring(1, lso_chu.Trim().Length - 1).Trim() + " đồng chẵn.";

            return lso_chu.ToString().Trim();

        }
        #endregion

        private void bt_excel_Click(object sender, EventArgs e)
        {

        }

        private void frmDSDatHangOnline_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyData == Keys.F2)
                cmb_donhang.Focus();
        }




    }
}
